package com.platform.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.platform.system.entity.SysUserGroup;
import com.platform.system.entity.SysUserGroupRole;
import com.platform.system.entity.SysUserGroupUser;

/**
 * describe:
 *
 * @author rainly
 * @date 2019/12/07
 * @time 7:11 下午
 */
public interface SysUserGroupService extends IService<SysUserGroup> {

    /**
     * 用户组增加角色
     *
     * @param sysUserGroupRole 用户组角色
     */
    void addRole(SysUserGroupRole sysUserGroupRole);

    /**
     * 用户组增加角色
     *
     * @param roleId      角色id
     * @param userGroupId 用户组id
     */
    void addRole(String roleId, String userGroupId);

    /**
     * 用户组删除角色
     *
     * @param sysUserGroupRole 用户组角色
     */
    void removeRole(SysUserGroupRole sysUserGroupRole);

    /**
     * 用户组删除角色
     *
     * @param sysUserGroupRoleId 用户组角色关联表id
     * @return 是否成功
     */
    void removeRole(String sysUserGroupRoleId);

    /**
     * 用户组增加用户
     *
     * @param sysUserGroupUser 用户组用户
     */
    void addUser(SysUserGroupUser sysUserGroupUser);

    /**
     * 用户组增加用户
     *
     * @param userId      用户id
     * @param userGroupId 用户组id
     * @return 是否成功
     */
    void addUser(String userId, String userGroupId);

    /**
     * 用户组删除用户
     *
     * @param sysUserGroupUser 用户组用户
     */
    void removeUser(SysUserGroupUser sysUserGroupUser);

    /**
     * 用户组删除用户
     *
     * @param sysUserGroupUserId 用户组用户关联表id
     * @return 是否成功
     */
    void removeUser(String sysUserGroupUserId);

}
